﻿using System.Reflection;

namespace LINQPad.OpenAccess.Metadata
{
    /// <summary>
    /// Assembly parse result.
    /// </summary>
    public interface IAssemblyParseResult
    {
        /// <summary>
        /// Gets the context types.
        /// </summary>
        /// <value>
        /// The context types.
        /// </value>
        IContextTypeInfo[] ContextTypes { get; }
        /// <summary>
        /// Gets a value indicating whether the parse result is empty.
        /// </summary>
        /// <value>
        ///   <c>true</c> if the parse result is empty; otherwise, <c>false</c>.
        /// </value>
        bool IsEmpty { get; }
        /// <summary>
        /// Gets the metadata sources.
        /// </summary>
        /// <value>
        /// The metadata sources.
        /// </value>
        IMetadataSourceInfoWithSource[] MetadataSources { get; }
    }
}